home *** CD-ROM | disk | FTP | other *** search
Wrap
IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) NNNNAAAAMMMMEEEE IIIISSSSAAAAMMMMAAAAXXXX, IIIIDDDDAAAAMMMMAAAAXXXX, IIIICCCCAAAAMMMMAAAAXXXX, IIIIZZZZAAAAMMMMAAAAXXXX - Searches a vector for the first occurrence of the maximum absolute value SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS Single precision Fortran: iiiinnnntttteeeeggggeeeerrrr IIIISSSSAAAAMMMMAAAAXXXX iiiinnnntttteeeeggggeeeerrrr _i_n_d_e_x _i_n_d_e_x = IIIISSSSAAAAMMMMAAAAXXXX ((((_n,,,, _x,,,, _i_n_c_x)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> iiiinnnntttt iiiissssaaaammmmaaaaxxxx ((((iiiinnnntttt _n,,,, ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _i_n_c_x))));;;; Double precision Fortran: iiiinnnntttteeeeggggeeeerrrr IIIIDDDDAAAAMMMMAAAAXXXX iiiinnnntttteeeeggggeeeerrrr _i_n_d_e_x _i_n_d_e_x = IIIIDDDDAAAAMMMMAAAAXXXX ((((_n,,,, _x,,,, _i_n_c_x)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> iiiinnnntttt iiiiddddaaaammmmaaaaxxxx ((((iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _i_n_c_x))));;;; Single precision complex Fortran: iiiinnnntttteeeeggggeeeerrrr IIIICCCCAAAAMMMMAAAAXXXX iiiinnnntttteeeeggggeeeerrrr _i_n_d_e_x _i_n_d_e_x = IIIICCCCAAAAMMMMAAAAXXXX ((((_n,,,, _x,,,, _i_n_c_x)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> iiiinnnntttt iiiiccccaaaammmmaaaaxxxx ((((iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> iiiinnnntttt iiiiccccaaaammmmaaaaxxxx ((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x))));;;; Double precision complex Fortran: iiiinnnntttteeeeggggeeeerrrr IIIIZZZZAAAAMMMMAAAAXXXX iiiinnnntttteeeeggggeeeerrrr _i_n_d_e_x _i_n_d_e_x = IIIIZZZZAAAAMMMMAAAAXXXX ((((_n,,,, _x,,,, _i_n_c_x)))) PPPPaaaaggggeeee 1111 IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> iiiinnnntttt iiiizzzzaaaammmmaaaaxxxx ((((iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> iiiinnnntttt iiiizzzzaaaammmmaaaaxxxx ((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x))));;;; IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN These routines are part of the SCSL Scientific Library and can be loaded using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option. The ----llllssssccccssss____mmmmpppp option directs the linker to use the multi-processor version of the library. When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is 4 bytes (32 bits). Another version of SCSL is available in which integers are 8 bytes (64 bits). This version allows the user access to larger memory sizes and helps when porting legacy Cray codes. It can be loaded by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use only one of the two versions; 4-byte integer and 8-byte integer library calls cannot be mixed. The C and C++ prototypes shown above are appropriate for the 4-byte integer version of SCSL. When using the 8-byte integer version, the variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header file should be included. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN IIIISSSSAAAAMMMMAAAAXXXX/IIIIDDDDAAAAMMMMAAAAXXXX searches a real vector for the first occurrence of the maximum absolute value. IIIICCCCAAAAMMMMAAAAXXXX/IIIIZZZZAAAAMMMMAAAAXXXX searches a complex vector for the first occurrence of the maximum absolute value. IIIISSSSAAAAMMMMAAAAXXXX returns the first index _i such that |x | = MAX |x | : j = 1, ..., n i j (j = 0, ..., n-1 for C/C++) where _x_j is an element of a real vector. IIIICCCCAAAAMMMMAAAAXXXX determines the first index _i such that |Real(x )| + |Imag(x )| = i i MAX(|Real(x )| + |Imag(x )|) : j = 1, ..., n j j (j = 0, ..., n-1 for C/C++) PPPPaaaaggggeeee 2222 IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) where _x_j is an element of a complex vector. See the NOTES section of this man page for information about the interpretation of the data types described in the following arguments. These functions have the following arguments: _i_n_d_e_x Integer. (output) First index of maximum absolute value. _n Integer. (input) Number of elements to process in the vector to be searched. If _n <= 0, these routines return 0 (-1 for C/C++). _x Array of dimension (_n-1) * |_i_n_c_x| + 1. (input) IIIISSSSAAAAMMMMAAAAXXXX: Single precision array. IIIIDDDDAAAAMMMMAAAAXXXX: Double precision array. IIIICCCCAAAAMMMMAAAAXXXX: Single precision complex array. IIIIZZZZAAAAMMMMAAAAXXXX: Double precision complex array. Array _x contains the vector to be searched. _i_n_c_x Integer. (input) Increment between elements of _x. NNNNOOOOTTTTEEEESSSS When scanning backward (_i_n_c_x < 0), each routine starts at the end of the vector and moves backward, as follows: Fortran: x(1 - incx * (n-1)), x(1 - incx * (n-2)), ..., x(1) C/C++: x[-incx * (n-1)], x[incx * (n - 2)], ..., x(0) The largest absolute value is: Fortran: |x(1 + incx * (index-1))| when incx > 0 |x(1 - incx * (n-index))| when incx < 0 C/C++: |x[incx * (index-1)]| when incx > 0 PPPPaaaaggggeeee 3333 IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) |x[-incx * (n-index)]| when incx < 0 These routines are Level 1 Basic Linear Algebra Subprograms (Level 1 BLAS). DDDDaaaattttaaaa TTTTyyyyppppeeeessss The following data types are described in this documentation: TTTTeeeerrrrmmmm UUUUsssseeeedddd DDDDaaaattttaaaa ttttyyyyppppeeee Fortran: Array dimensioned _n xxxx((((nnnn)))) Integer IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision RRRREEEEAAAALLLL Double precision DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN Single precision complex CCCCOOOOMMMMPPPPLLLLEEEEXXXX Double precision complex DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX C/C++: Array dimensioned _n xxxx[[[[_n]]]] Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision ffffllllooooaaaatttt Double precision ddddoooouuuubbbblllleeee Single precision complex ssssccccssssllll____ccccoooommmmpppplllleeeexxxx Double precision complex ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx C++ STL: Array dimensioned _n xxxx[[[[_n]]]] Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision ffffllllooooaaaatttt Double precision ddddoooouuuubbbblllleeee Single precision complex ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> PPPPaaaaggggeeee 4444 IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) IIIISSSSAAAAMMMMAAAAXXXX((((3333SSSS)))) Double precision complex ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> SSSSEEEEEEEE AAAALLLLSSSSOOOO IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS1111(3S), IIIISSSSMMMMAAAAXXXX(3S) IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77 Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic Linear Algebra Subprograms Technical Forum. PPPPaaaaggggeeee 5555